package com.dc.commons.enumer;

import com.dc.commons.dict.Dictionary;

/*******************************************************************************<P>
 * 文件名: Enumer.java <br>
 * 版本: 1.0<br>
 * 描述:<br>
 * 版权所有: <br>
 * <P>
 * 创建者: 王建栋 <br>
 * 创建日期: 2015年12月14日 下午9:03:59<br>
 * 修改者: <br>
 * 修改日期: <br>
 * 修改说明: <br>
 ******************************************************************************/
public class Enumer implements Dictionary {

	/**
	 *  构造函数，快速创建Enumber对象
	 * @param code
	 * @param name
	 */
	public Enumer(String code,String name){
		this.code=code;
		this.name=name;
	}
	
	/**
	 * 枚举 代码
	 */
	private String code;
	/**
	 *  枚举 内容
	 */
	private String name;

	/* (non-Javadoc)
	 * @see com.dc.commons.dict.Dictionary#getCode()
	 */
	@Override
	public String getCode() {
		return this.code;
	}

	/* (non-Javadoc)
	 * @see com.dc.commons.dict.Dictionary#getName()
	 */
	@Override
	public String getName() {
		return this.name;
	}
	/**
	 * 返回Enumer 对象(后期可以优化 在这里 缓存,如果存在国际化 也可以考虑在此处国际化)
	 * @param code
	 * @param name
	 * @return Enumer
	 */
	public static Enumer toEnumber(String code,String name){
		return new Enumer(code, name);
	}
	
	public static Enumer toEnumber(Dictionary dictionary){
		return new Enumer(dictionary.getCode(), dictionary.getName());
	}
	
	public static Enumer toEnumber(Enum<?> enums,String name){
		return new Enumer(enums.name(), name);
	}
	
}
